/*****************************************************************
File name   : api_led.h
Author      : liukaihua 
Version     : Ver1.0.0
Date        : 2022-06-09
Description : 关于led的数码管显示
Others      : 
History     : 
    1. Date:
       Author: ID:
       Modification:
    2. ...
*****************************************************************/

#ifndef __API_LED_H_
#define __API_LED_H_

#include "stdint.h"

/****************************************************************************/ 
/*************旋钮按键选中的宏定义 序号代表按动几下 数码管从上到下选择显示*************/
#define FT_SELEC						4//1
#define EHP_SELEC						3//2//3
#define BLOOD1_SELEC				1//2//1//3//5
#define BLOOD2_SELEC				2//1//2//4//7
#define EAR_SELEC						5//9
#define NUM_SELEC						6//按动旋钮6次一个循环 停止选择 再按就是继续从足温开始

#define BLOOD1_SEL_BIT			1
#define BLOOD2_SEL_BIT			2
#define EHP_SEL_BIT					4
#define FT_SEL_BIT					8
#define EAR_SEL_BIT					16

/****************可设置的最高最低温度********************/
#define EAR_TEMP_SETMAX    		400//450 //耳温最高可设置45度
#define EAR_TEMP_SETMIN    		350//150
#define EAR_TEMP_OFFSET				10//上限高于下限最少1度

#define FT_TEMP_SETMAX     		400
#define FT_TEMP_SETMIN     		330

#define EHP_TEMP_SETMAX    		400
#define EHP_TEMP_SETMIN    		330

#define BLOOD_TEMP_SETMAX     430
#define BLOOD_TEMP_SETMIN     330

#define VOICE_EARTEMP_MAX			370//367//370
#define VOICE_EARTEMP_MIN			360
#define DEFAULT_EARTEMP_SET   364//默认目标温度为36.4度

/**************20220820 设备设置温度下调后低于当前温度一定值的置位标志*********************/
typedef struct
{
    uint8_t ehp;
    uint8_t ft;
	uint8_t blood1;
	uint8_t blood2;
} Down_tempset_T;

#define EHP_DOWN_DIMEN    	 10//30//设置温度下调至低于当前温度值3度
#define FT_DOWN_DIMEN    	 	 10//30//设置温度下调至低于当前温度值3度
#define BLOOD1_DOWN_DIMEN    10//30//设置温度下调至低于当前温度值3度
#define BLOOD2_DOWN_DIMEN    10//30//设置温度下调至低于当前温度值3度


#define SetChannel_timeout_threshold    60//500ms * 60 = 30秒超时

// void LCD_mode_con(uint16_t mode, uint16_t sta);
 void LCD_sys_con(void);
 void LCD_ehp_con(void);
// //void LCD_blood_con(void);
 void LCD_blood1_con(void);
 void LCD_blood2_con(void);
// void LCD_hp_con(void);
 void LCD_ft_con(void);
void LED_send_param_init(void);
// void InterComm_LCD_PackData_group(uint8_t head_len, uint8_t parm_num, uint16_t *reg_addr, uint16_t *param);
void Other_sys_con(void);
void encode_key_pro(uint8_t sta);
void LED_Tick_Thread(void *argument);
void enable_key_pro(uint8_t orenable);
void ear_set_temp(uint8_t dir);
void ft_channel_set(uint8_t dir);
void ehp_channel_set(uint8_t dir);
void blood1_channel_set(uint8_t dir);
void blood2_channel_set(uint8_t dir);
void temp_cali_set(void);

#endif
/* [] END OF FILE */
